跳到主要内容

5.1 计时器模块

实现一个计时器,该计时器会根据给定的时钟周期数量进行倒计时,然后在给定持续时间结束后断言一个信号以指示时间已到。实现这一功能的一个好方法是使用一个下计数器(down-counter),当计数变为0时,它会断言一个输出信号。

在每个时钟周期:

  • 如果 load = 1,无论计数器当前状态如何,都会用10位数据(即计时器应计数的时钟周期数)来加载内部计数器。
  • 如果 load = 0,内部计数器应自减1。

输出信号tc("terminal count",终止计数)表明内部计数器是否已经到达0。一旦内部计数器达到0,它就应保持为0(停止计数),直到计数器被再次加载。 以下是一个计时器被要求计数3个周期时的示例情况说明:

alt text

模块声明

module top_module(
input clk,
input load,
input [9:0] data,
output tc
);

做题区